<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>Genivia - wstapi.h File Reference</title>
<link href="genivia_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="genivia_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td width="175px"><a href="https://www.genivia.com"><img alt="Genivia" src="GeniviaLogo2_trans_noslogan.png"/></a></td>
     <td class="tab_home"><a href="https://www.genivia.com">Home</a></td>
     <td class="tab_home"><a href="https://www.genivia.com/docs.html">Documentation</a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">wstapi.h File Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Thu Apr 15 2021 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_b4c3aec6cd8f28418150dce663061cfa.html">plugin</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">wstapi.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;wsaapi.h&quot;</code><br />
<code>#include &quot;wsseapi.h&quot;</code><br />
<code>#include &quot;smdevp.h&quot;</code><br />
<code>#include &quot;mecevp.h&quot;</code><br />
<code>#include &quot;threads.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for wstapi.h:</div>
<div class="dyncontent">
<div class="center"><img src="wstapi_8h__incl.png" border="0" usemap="#wstapi_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="wstapi_8h__dep__incl.png" border="0" usemap="#wstapi_8hdep" alt=""/></div>
<map name="wstapi_8hdep" id="wstapi_8hdep">
<area shape="rect" id="node3" href="wstapi_8c.html" title="wstapi.c" alt="" coords="5,83,75,111"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a494c75d3017d3ca10fbbcba77e69caeb"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#a494c75d3017d3ca10fbbcba77e69caeb">soap_wst_request_saml_token</a> (struct soap *soap, const char *endpoint, int soapver, const char *applyto, const char *username, const char *password, <a class="el" href="structsaml1_____assertion_type.html">saml1__AssertionType</a> **saml1, <a class="el" href="structsaml2_____assertion_type.html">saml2__AssertionType</a> **saml2)</td></tr>
<tr class="memdesc:a494c75d3017d3ca10fbbcba77e69caeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request SAML 1.0 or SAML 2.0 token. Verifies the SAML signature, which requires soap-&gt;cafile to be set. Does not verify the conditions of the SAML token, such as NotBefore and NotOnOrAfter, which has to be done explicitly as shown in the documentation.  <a href="#a494c75d3017d3ca10fbbcba77e69caeb">More...</a><br /></td></tr>
<tr class="separator:a494c75d3017d3ca10fbbcba77e69caeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad85eb228db132f10a8fc69f75365a67d"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#ad85eb228db132f10a8fc69f75365a67d">soap_wst_request_psha1_token</a> (struct soap *soap, const char *endpoint, int soapver, const char *applyto, const char *username, const char *password, char *psha1, size_t psha1len)</td></tr>
<tr class="memdesc:ad85eb228db132f10a8fc69f75365a67d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request PSHA1 token.  <a href="#ad85eb228db132f10a8fc69f75365a67d">More...</a><br /></td></tr>
<tr class="separator:ad85eb228db132f10a8fc69f75365a67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaac1021056bd418c229a22adfc5973f"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#aaaac1021056bd418c229a22adfc5973f">soap_call___wst__RequestSecurityToken</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwst_____request_security_token_type.html">wst__RequestSecurityTokenType</a> *wst__RequestSecurityToken, struct <a class="el" href="structwst_____request_security_token_response_type.html">wst__RequestSecurityTokenResponseType</a> *wst__RequestSecurityTokenResponse)</td></tr>
<tr class="separator:aaaac1021056bd418c229a22adfc5973f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40a79181a22c02eeb695449b51720d6"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#ad40a79181a22c02eeb695449b51720d6">soap_call___wst__RequestSecurityTokenResponse</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwst_____request_security_token_response_type.html">wst__RequestSecurityTokenResponseType</a> *wst__RequestSecurityTokenResponse, struct <a class="el" href="structwst_____request_security_token_response_collection_type.html">wst__RequestSecurityTokenResponseCollectionType</a> *wst__RequestSecurityTokenResponseCollection)</td></tr>
<tr class="separator:ad40a79181a22c02eeb695449b51720d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade98feec559a1001fb775746323f7b8d"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#ade98feec559a1001fb775746323f7b8d">soap_call___wst__RequestSecurityTokenCollection</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwst_____request_security_token_collection_type.html">wst__RequestSecurityTokenCollectionType</a> *wst__RequestSecurityTokenCollection, struct <a class="el" href="structwst_____request_security_token_response_collection_type.html">wst__RequestSecurityTokenResponseCollectionType</a> *wst__RequestSecurityTokenResponseCollection)</td></tr>
<tr class="separator:ade98feec559a1001fb775746323f7b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a296f9d77c6b0bdca7fa173f568d1918f"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#a296f9d77c6b0bdca7fa173f568d1918f">soap_wst_rst_action</a></td></tr>
<tr class="separator:a296f9d77c6b0bdca7fa173f568d1918f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f0a36f3cd6e7020577e3741b464b58e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#a6f0a36f3cd6e7020577e3741b464b58e">soap_wst_rstr_action</a></td></tr>
<tr class="separator:a6f0a36f3cd6e7020577e3741b464b58e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab542e78834d436b7253d680c0f7be94"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#aab542e78834d436b7253d680c0f7be94">soap_wst_rstc_action</a></td></tr>
<tr class="separator:aab542e78834d436b7253d680c0f7be94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95fa56d93807a97ac103afe91fe13635"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wstapi_8h.html#a95fa56d93807a97ac103afe91fe13635">soap_wst_rstrc_action</a></td></tr>
<tr class="separator:a95fa56d93807a97ac103afe91fe13635"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aaaac1021056bd418c229a22adfc5973f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_call___wst__RequestSecurityToken </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwst_____request_security_token_type.html">wst__RequestSecurityTokenType</a> *&#160;</td>
          <td class="paramname"><em>wst__RequestSecurityToken</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwst_____request_security_token_response_type.html">wst__RequestSecurityTokenResponseType</a> *&#160;</td>
          <td class="paramname"><em>wst__RequestSecurityTokenResponse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ade98feec559a1001fb775746323f7b8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_call___wst__RequestSecurityTokenCollection </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwst_____request_security_token_collection_type.html">wst__RequestSecurityTokenCollectionType</a> *&#160;</td>
          <td class="paramname"><em>wst__RequestSecurityTokenCollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwst_____request_security_token_response_collection_type.html">wst__RequestSecurityTokenResponseCollectionType</a> *&#160;</td>
          <td class="paramname"><em>wst__RequestSecurityTokenResponseCollection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad40a79181a22c02eeb695449b51720d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_call___wst__RequestSecurityTokenResponse </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwst_____request_security_token_response_type.html">wst__RequestSecurityTokenResponseType</a> *&#160;</td>
          <td class="paramname"><em>wst__RequestSecurityTokenResponse</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwst_____request_security_token_response_collection_type.html">wst__RequestSecurityTokenResponseCollectionType</a> *&#160;</td>
          <td class="paramname"><em>wst__RequestSecurityTokenResponseCollection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad85eb228db132f10a8fc69f75365a67d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wst_request_psha1_token </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>soapver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>applyto</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>psha1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>psha1len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request PSHA1 token. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramname">endpoint</td><td>service endpoint URL (send to) </td></tr>
    <tr><td class="paramname">soapver</td><td>SOAP version 1 = SOAP 1.1, 2 = SOAP 1.2 (recommended) </td></tr>
    <tr><td class="paramname">applyto</td><td>service domain </td></tr>
    <tr><td class="paramname">username</td><td>authentication or NULL </td></tr>
    <tr><td class="paramname">password</td><td>authentication or NULL </td></tr>
    <tr><td class="paramname">psha1</td><td>filled with the PSHA1 result token of psa1len bytes </td></tr>
    <tr><td class="paramname">psha1len</td><td>token size in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code </dd></dl>

</div>
</div>
<a class="anchor" id="a494c75d3017d3ca10fbbcba77e69caeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wst_request_saml_token </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>soapver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>applyto</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsaml1_____assertion_type.html">saml1__AssertionType</a> **&#160;</td>
          <td class="paramname"><em>saml1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsaml2_____assertion_type.html">saml2__AssertionType</a> **&#160;</td>
          <td class="paramname"><em>saml2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request SAML 1.0 or SAML 2.0 token. Verifies the SAML signature, which requires soap-&gt;cafile to be set. Does not verify the conditions of the SAML token, such as NotBefore and NotOnOrAfter, which has to be done explicitly as shown in the documentation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramname">endpoint</td><td>service endpoint URL (send to) </td></tr>
    <tr><td class="paramname">soapver</td><td>SOAP version 1 = SOAP 1.1, 2 = SOAP 1.2 (recommended) </td></tr>
    <tr><td class="paramname">applyto</td><td>service domain </td></tr>
    <tr><td class="paramname">username</td><td>authentication or NULL </td></tr>
    <tr><td class="paramname">password</td><td>authentication or NULL </td></tr>
    <tr><td class="paramname">saml1</td><td>if non-NULL, requests SAML 1.0 and upon return points to a pointer that is set to the SAML 1.0 assertion received </td></tr>
    <tr><td class="paramname">saml2</td><td>if non-NULL, requests SAML 2.0 and upon return points to a pointer that is set to the SAML 2.0 assertion received </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code </dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a296f9d77c6b0bdca7fa173f568d1918f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* soap_wst_rst_action</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aab542e78834d436b7253d680c0f7be94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* soap_wst_rstc_action</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6f0a36f3cd6e7020577e3741b464b58e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* soap_wst_rstr_action</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a95fa56d93807a97ac103afe91fe13635"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* soap_wst_rstrc_action</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<hr class="footer">
<address class="footer">
Copyright (C) 2021, Robert van Engelen, Genivia Inc., All Rights Reserved.
</address>
<address class="footer"><small>
Converted on Thu Apr 15 2021 09:52:54 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
